package cn.jobstart.controller;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RestController;
import cn.jobstart.pubInter.exception.SkException;
import cn.jobstart.pubInter.IBaseService;
import cn.jobstart.pubInter.RestfulController;
import cn.jobstart.dto.DouyinAccountDTO;
import cn.jobstart.dto.DouyinAccountPageDTO;
import cn.jobstart.modelExt.DouyinAccountExt;
import cn.jobstart.searchExt.DouyinAccountSearchExt;
import cn.jobstart.service.IDouyinAccountService;
import cn.jobstart.vo.DouyinAccountDetailVO;
import cn.jobstart.vo.DouyinAccountListVO;
import cn.jobstart.vo.DouyinAccountDomainVO;
import cn.jobstart.vo.DouyinAccountDetailDomainVO;
import cn.jobstart.export.DouyinAccountDomainExport;
import cn.jobstart.controller.ApiManageController;
import org.springframework.validation.annotation.Validated;
import java.util.Set;
import java.util.HashSet;
import cn.jobstart.pubInter.exception.BusinessException;

/**
*    @author xy
*    @Date 2024-01-08 10:38:28
*    @description DouyinAccountController      抖音客户账号
*/
@Api(tags = "后台管理系统-抖音客户账号相关", description = "抖音客户账号相关接口")
@RestController(value ="douyinAccountRestfulController")
@RequestMapping("/douyinAccount/")
@Validated
public class DouyinAccountController extends ApiManageController<DouyinAccountDTO,DouyinAccountPageDTO,DouyinAccountExt, DouyinAccountSearchExt,DouyinAccountDomainVO,DouyinAccountDetailDomainVO,DouyinAccountDetailVO,DouyinAccountListVO,String> {

	@Resource(name = "douyinAccountService")
	private IDouyinAccountService douyinAccountService;



	@Override
	public IBaseService<DouyinAccountExt, DouyinAccountSearchExt,String> getBaseService() throws SkException {
		return douyinAccountService;
	}

	@Override
	public String getBaseRoute() {
		return "/douyinAccount/";
	}

	/**
	* 当前模板名称
	* @return
	*/
	@Override
	public String getModelName(){
		return "抖音客户账号";
	}

	@Override
	public Class exportExcelClass() {
		return DouyinAccountDomainExport.class;
	}

	@Override
	public Set<String> totalMapSet() {
		Set totalMapSet=new HashSet();
		totalMapSet.add("count(douyin_account.dya_id) as countNum");

		return totalMapSet;
	}


}